|
Globalization and the increase of competitive pressures created the
need for agility in business processes, including the ability to
outsource, offshore, or otherwise distribute its once-centralized
business processes or parts thereof. While hampered thus far by
limited infrastructure capabilities, the increase in bandwidth and
connectivity and decrease in communication cost have removed these
limits.
An organization that aims for such fragmentation of its business
processes needs to be able to separate the process into different
parts. Today, this is a manual, design-time endeavor. For example,
it may use the concept of subprocesses as parts to be outsourced.
However, there is often no way to foresee, in advance, which parts
of the process need to be cut-off. Thus, todays technology for
outsourcing is static and not dynamic at all.
Therefore, there is a growing need for the ability to fragment ones
business processes in an agile manner, and be able to distribute and
wire these fragments so that their combined execution recreates the
function of the original process. Additionally, this needs to be
done in a networked environment, which is where Service Oriented
Architecture plays a vital role.
Service Oriented Architecture (SOA) is a relatively new approach to
software that natively deals with the very dynamic, distributed,
loosely coupled, and heterogeneous features of todays networked
environment, offering application functions as networked services.
Web services is one instantiation of an SOA, consisting of a
modular, layered stack of XML standards and corresponding
implementations that address the different aspects of this
environment. The standard covering business processes for Web
services is the Business Process Execution Language for Web Services
(also known as BPEL). Relevant characteristics of BPEL are that it
is SOA-centric, has a scope construct that groups activities
providing them with common behavior such as fault and compensation
handlers, and combines graph and calculus based approaches to
process modeling.
This thesis describes how to identify, create, and execute process
fragments without loosing the operational semantics of the original
process models. It does so within the framework of the Web services
stack of standards, BPEL in particular.
The contributions are a categorization of existing Web services
aggregation techniques, a meta-model of Web services business
process mechanisms using a graph-based formalism, a solution for the
automatic and operational semantics-preserving decomposition of such
processes, and an architecture and implementation for a
corresponding build-time and runtime environment.
|